package es.iespuertodelacruz.dai.batallanaval;

import java.awt.Dimension;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JMenuBar;

import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JSplitPane;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
import javax.swing.KeyStroke;

import es.iespuertodelacruz.dai.batallanaval.gui.DartBoardPanel;
import es.iespuertodelacruz.dai.batallanaval.gui.FleetDialog;
import es.iespuertodelacruz.dai.batallanaval.gui.GameConfig;
import es.iespuertodelacruz.dai.batallanaval.gui.GamePanel;
import es.iespuertodelacruz.dai.batallanaval.gui.SeaBoardPanel;
import es.iespuertodelacruz.dai.batallanaval.gui.Size;

import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
import java.awt.GridLayout;


public class BatallaNavalApp {

	private JFrame frame;

	static Dimension[] boardSizes = { new Dimension(10, 10),
			new Dimension(15, 15), new Dimension(20, 20) };
	
	private FleetDialog fleetDlg;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					BatallaNavalApp window = new BatallaNavalApp();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public BatallaNavalApp() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 1000, 700);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JMenuBar mainMenuBar = new JMenuBar();
		frame.setJMenuBar(mainMenuBar);
		
		JMenu mnfarchivo = new JMenu("Archivo");
		mainMenuBar.add(mnfarchivo);
		
		JMenuItem mntmNuevo = new JMenuItem("Nuevo...");
		mntmNuevo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.ALT_MASK));
		mnfarchivo.add(mntmNuevo);
		
		JSeparator separator = new JSeparator();
		mnfarchivo.add(separator);
		
		JMenuItem mntmCargar = new JMenuItem("Cargar...");
		mnfarchivo.add(mntmCargar);
		
		JMenuItem mntmGrabar = new JMenuItem("Grabar...");
		mnfarchivo.add(mntmGrabar);
		frame.getContentPane().setLayout(new BorderLayout(0, 0));

		JPanel panel = new JPanel();
		frame.getContentPane().add(panel, BorderLayout.NORTH);

		JPanel panel_3 = new JPanel();
		frame.getContentPane().add(panel_3, BorderLayout.SOUTH);

		GameConfig gcfg = new GameConfig(new Size(10, 10));
		
		JPanel leftBoard = new SeaBoardPanel(gcfg);
		JPanel rightBoard = new DartBoardPanel(gcfg);

		JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
				leftBoard, rightBoard);
		leftBoard.setLayout(new GridLayout(11, 11, 0, 0));
		splitPane.setResizeWeight(0.5);
		frame.getContentPane().add(splitPane, BorderLayout.CENTER);
		
		this.fleetDlg = new FleetDialog(frame);
		this.fleetDlg.setVisible(true);
		
		
	}

}
